//
//  CircleOrbit.h
//  Project 5
//
//  Created by Nguyen Tan Loc on 6/20/13.
//  Copyright (c) 2013 Nguyen Tan Loc. All rights reserved.
//

#import "OrbitIndicator.h"
#import "Circle.h"
#import "CircleSafeZone.h"
#import "LevelManager.h"

typedef enum
{
    STATE_ACTIVE,
    STATE_DESTROYING,
    STATE_DESTROYED,
} CIRCLE_ORBIT_STATE;

@interface CircleOrbit : CCNode
{
    OrbitIndicator *mOrbitIndicator;   
    CCNode *mCircleLayer;
    CCNode *mCircleSafeZoneLayer;
    float mRadius;
    float mNextRadius;
    float mAngle;
    float mSpeed;
    CIRCLE_ORBIT_STATE mState;
}

@property (nonatomic, assign) CIRCLE_ORBIT_STATE _state;
@property (nonatomic, assign) float _radius;

-(id) initWithListCircle:(NSArray *)listCircle;
-(void) addListCircleSafeZone:(NSArray *)listCircleSafeZone;
-(void) setStartAngle:(float)angle;
-(void) setRadius:(float)radius;
-(void) setNextRadius:(float)nextRadius;
-(void) setSpeed:(float)speed;
-(void) setCheckCollision:(BOOL)b;
-(CIRCLE_ORBIT_STATE) getState;
-(void) runEffect:(EFFECT_TYPE)effect;
-(int) getNumCircle;
-(Circle *) getCircleAtIndex:(int)index;

@end
